package com.chat.utils;

import net.sourceforge.pinyin4j.PinyinHelper;

public class FirstLetterUtil {
    /**
     * 获取名字的首字母：
     * - 英文字母 → 大写
     * - 中文 → 转拼音取首字母
     * - 数字/符号 → 返回 #
     */
    public static String getFirstLetter(String text) {
        if (text == null) {
            return "#";
        }
        text = text.trim();
        if (text.isEmpty()) {
            return "#";
        }

        char c = text.charAt(0);

        // ✅ 英文字母
        if (Character.isLetter(c) && c < 128) {
            return String.valueOf(Character.toUpperCase(c));
        }

        // ✅ 中文（转拼音）
        try {
            String[] pinyins = PinyinHelper.toHanyuPinyinStringArray(c);
            if (pinyins != null && pinyins.length > 0) {
                return String.valueOf(Character.toUpperCase(pinyins[0].charAt(0)));
            }
        } catch (Exception e) {
            // 出现异常时忽略，走默认 #
        }

        // ✅ 数字、符号、无法识别的字符
        return "#";
    }

}
